100 CALL CLEAR
110 RANDOMIZE
120 CALL SCREEN(2)
130 FOR I=1 TO 8
140 CALL COLOR(I,16,1)
150 NEXT I
160 CALL CHAR(128,"18185A5ABDBDE781")
170 CALL CHAR(136,"3C5A992424995A3C")
180 CALL CHAR(104,"00")
190 CALL CHAR(112,"FFE7E7C3C38199FF")
200 CALL COLOR(11,7,16)
210 CALL CHAR(105,"0101030F0F3F7FFF")
220 CALL CHAR(106,"8080C0F0F0FCFEFF")
230 CALL CHAR(120,"3C3C7EFF66")
240 CALL COLOR(10,9,1)
250 CALL COLOR(12,14,1)
260 CALL COLOR(13,11,1)
270 CALL CHAR(144,"1818181818181818")
280 CALL COLOR(15,10,1)
290 CALL COLOR(14,4,1)
300 CALL CHAR(152,"3C4299A5A599423C")
310 DATA 14,8,15,16
320 FOR I=1 TO 4
330 READ A0(I)
340 NEXT I
350 PU=0
360 CALL CHAR(35,"0F0F0F0F000000000")
370 PRINT " ###   ###   ###   ###  ### #   # #   # #   # #    #   ##     #   # #   # #    #   #"
380 PRINT " ###  ####  ##### #    ####     # #     #   # #    #        # #     #   # #    #    "
390 PRINT " ###  #     #   #  ###  ### ": : : : :"    BY LUCA BRENTARO (C)    ": : : : : : :
400 FOR I=1 TO 10
410 CALL CHAR(35,"0F0F0F0F")
420 CALL SOUND(100,165,1)
430 CALL CHAR(35,"000000000F0F0F0F")
440 CALL SOUND(100,147,1)
450 CALL CHAR(35,"00000000F0F0F0F0")
460 CALL SOUND(100,131,1)
470 CALL CHAR(35,"F0F0F0F0")
480 CALL SOUND(100,123,1)
490 NEXT I
500 SI=0
510 CALL SOUND(-1000,123,1,147,1,196,1)
520 CALL SOUND(-1000,110,1,131,1,165,1)
530 CALL SOUND(-1000,110,1,220,1,440,1)
540 CALL CLEAR
550 CALL CLEAR
560 SC=0
570 SI=SI+1
580 IF SI=5 THEN 590 ELSE 600
590 SI=1
600 SN=0
610 SC=SC+1
620 PRINT "  SCORE";PU;TAB(20);"LEVEL";SC
630 FOR I=1 TO(SC*9)
640 A=INT(RND*14)+3
650 CALL SOUND(-10,440,10)
660 IF INT((A-1)/2)=(A-1)/2 THEN 670 ELSE 640
670 B=INT(RND*22)+6
680 CALL HCHAR(A,B,136)
690 CALL SOUND(-300,440,2,659,2,880,2)
700 CALL SOUND(-300,440,20,659,20,880,20)
710 NEXT I
720 CALL VCHAR(1,4,104,23)
730 CALL VCHAR(1,29,104,23)
740 FOR I=1400 TO 1200 STEP-15
750 CALL SOUND(-500,I,10)
760 NEXT I
770 B1=INT(RND*10)+12
780 CALL HCHAR(19,B1,128)
790 A=1
800 B=5
810 CALL COLOR(16,A0(SI),1)
820 C=1
830 B=B+C
840 CALL GCHAR(A,B,X)
850 IF(X=32)+(X=128)THEN 860 ELSE 890
860 IF A=19 THEN 1270
870 CALL HCHAR(A,B,152)
880 IF X=128 THEN 1270 ELSE 930
890 A=A+2
900 CALL VCHAR(A-2,B-C,152,3)
910 B=B-C
920 C=C*(-1)
930 CALL KEY(3,K,S)
940 IF K=13 THEN 1060
950 IF K=68 THEN 960 ELSE 970
960 D=1
970 IF K=83 THEN 980 ELSE 990
980 D=-1
990 IF S=0 THEN 830
1000 B1=B1+D
1010 CALL GCHAR(19,B1,X)
1020 IF X<>32 THEN 1270
1030 CALL HCHAR(19,B1-D,32)
1040 CALL HCHAR(19,B1,128)
1050 GOTO 830
1060 CALL SOUND(-1000,-5,29)
1070 FOR I=18 TO 1 STEP-1
1080 CALL GCHAR(I,B1,X)
1090 IF X<>32 THEN 1170
1100 CALL HCHAR(I,B1,144)
1110 K=I
1120 NEXT I
1130 FOR I=18 TO K STEP-1
1140 CALL HCHAR(I,B1,32)
1150 NEXT I
1160 GOTO 830
1170 IF X=152 THEN 1180 ELSE 1420
1180 IF B1=B THEN 1190 ELSE 1420
1190 PU=PU+5
1200 SN=SN+1
1210 CALL COLOR(16,1,1)
1220 CALL SOUND(-100,262,1,330,1,392,1)
1230 CALL SOUND(-100,294,10,370,10,440,10)
1240 CALL SOUND(-100,330,20,415,20,494,20)
1250 CALL COLOR(16,A0(SI),1)
1260 IF SN=3 THEN 1460 ELSE 1130
1270 FOR I=0 TO 30 STEP 3
1280 CALL SOUND(-100,131,I,I*10+110,I)
1290 NEXT I
1300 A$="GAME  OVER"
1310 FOR I=11 TO 13
1320 CALL HCHAR(I,11,32,12)
1330 NEXT I
1340 FOR I=1 TO LEN(A$)
1350 CALL HCHAR(12,11+I,ASC(SEG$(A$,I,1)))
1360 CALL SOUND(-800,-5,I)
1370 NEXT I
1380 FOR I=1 TO 1000
1390 NEXT I
1400 CALL CLEAR
1410 GOTO 350
1420 CALL SOUND(-1,1300,1)
1430 CALL SOUND(-1,1400,10)
1440 CALL SOUND(-1,1600,20)
1450 GOTO 1130
1460 FOR I=1 TO 3
1470 FOR S=0 TO 30 STEP 5
1480 CALL SOUND(-500,262*I,S,330*I,S,392*I,S)
1490 NEXT S
1500 NEXT I
1510 FOR I=1 TO 10
1520 CALL COLOR(16,16,1)
1530 CALL SOUND(100,262,20)
1540 CALL COLOR(16,1,1)
1550 CALL SOUND(100,196*2,20,523,10)
1560 NEXT I
1570 FOR I=1 TO 1000
1580 NEXT I
1590 CALL CLEAR
1600 IF INT(SC/2)=SC/2 THEN 1610 ELSE 570
1610 A$="PREPARA L'AGGANCIAMENTO"
1620 FOR I=1 TO LEN(A$)
1630 CALL HCHAR(2,5+I,ASC(SEG$(A$,I,1)))
1640 CALL SOUND(-1,I*98+110,I)
1650 NEXT I
1660 A$="CON L'ASTRONAVE MADRE"
1670 FOR I=1 TO LEN(A$)
1680 CALL HCHAR(4,6+I,ASC(SEG$(A$,I,1)))
1690 CALL SOUND(-1,I*200+110,I)
1700 NEXT I
1710 CALL VCHAR(1,2,104,24)
1720 CALL VCHAR(1,31,104,24)
1730 CALL HCHAR(20,16,112)
1740 CALL HCHAR(21,16,120)
1750 CALL HCHAR(20,15,105)
1760 CALL HCHAR(20,17,106)
1770 CALL HCHAR(7,16,128)
1780 A=7
1790 B=16
1800 C=INT(RND*3)-1
1810 IF C=0 THEN 1800
1820 FOR I=1 TO 200
1830 NEXT I
1840 FOR I=0 TO 30 STEP 5
1850 CALL SOUND(-500,-2,I)
1860 NEXT I
1870 CALL KEY(3,K,S)
1880 IF K=68 THEN 1890 ELSE 1900
1890 C=1
1900 IF K=83 THEN 1910 ELSE 1920
1910 C=-1
1920 A=A+1
1930 B=B+C
1940 IF(B>30)+(B<3)+(A>20)THEN 1270
1950 CALL HCHAR(A-1,B-C,32)
1960 CALL HCHAR(A,B,128)
1970 CALL SOUND(-1000,-5,29)
1980 IF A=19 THEN 1990 ELSE 1870
1990 IF B=16 THEN 2000 ELSE 1870
2000 FOR I=0 TO 30 STEP 2
2010 CALL SOUND(-1000,262,I,330,I,392,I)
2020 NEXT I
2030 PU=PU+50
2040 A$="BONUS 50 PUNTI"
2050 FOR I=1 TO LEN(A$)
2060 CALL HCHAR(12,9+I,ASC(SEG$(A$,I,1)))
2070 CALL SOUND(-1000,1047,I,523,I,659,I)
2080 NEXT I
2090 FOR I=1 TO 500
2100 NEXT I
2110 FOR I=1 TO 17
2120 CALL HCHAR(I,1,32,32)
2130 NEXT I
2140 FOR I=220 TO 5000 STEP 200
2150 CALL SOUND(-1000,110,30,110,30,I,30,-8,10)
2160 CALL CHAR(120,"18003C007E006600")
2170 PRINT
2180 CALL SOUND(-1000,110,30,110,30,I,30,-8,10)
2190 CALL CHAR(120,"3C3C7EFF66C30000")
2200 NEXT I
2210 GOTO 570
